Field of the Disclosure
The present disclosure relates to communication networks, and more specifically, to separation and isolation of multiple network stacks in a network element.
Description of the Related Art
A communication network may include network elements that route packets through the network. Some network elements may include a distributed architecture, wherein packet processing may be distributed among several subsystems of the network element (e.g., line cards). Thus, network elements may be modular and may include various sub-systems and/or sub-elements, which may include a shelf, a slot, a port, a channel and/or various combinations thereof.
In a communication network, multiple network forwarding planes may exist within a single physical network that includes a network element. The forwarding planes may handle different kinds of traffic, such as a management plane for management control packets (also referred to as a management control network (MCN)) and a control plane for signal control packets (also referred to as a signal control network (SCN)), among other types of forwarding planes. A network element may thus have the responsibility for maintaining multiple forwarding tables corresponding to the multiple forwarding planes and then selecting the correct forwarding table upon receiving and routing a network packet.
One typical implementation of multiple forwarding planes alters the forwarding code within a single operating system memory space while relying on additional data fields to parameterize each forwarding plane, for example, in each forwarding table. However, such customized changes to forwarding code, which may alter the forwarding logic of a single network stack, may be complex to implement and maintain over time. Also, the execution of multiple forwarding planes within the single memory space of the single network stack may bring certain architectural disadvantages, such as dependencies and/or undesired interaction of one forwarding plane on another forwarding plane that is executing concurrently.